Theory and Practice of Constraint Handling Rules
نویسنده
چکیده
Constraint Handling Rules (CHR) are our proposal to allow more exibility and application-oriented customization of constraint systems. CHR are a declarative language extension especially designed for writing user-deened constraints. CHR are essentially a committed-choice language consisting of multi-headed guarded rules that rewrite constraints into simpler ones until they are solved. In this broad survey we aim at covering all aspects of CHR as they currently present themselves. Going from theory to practice, we will deene syntax and semantics for CHR, introduce an important decidable property, connuence, of CHR programs and deene a tight integration of CHR with constraint logic programming languages. This survey then describes implementations of the language before we review several constraint solvers-both traditional and non-standard ones-written in the CHR language. Finally we introduce two innovative applications that beneeted from using CHR.
منابع مشابه
SMCHR: Satisfiability modulo constraint handling rules
Constraint Handling Rules (CHRs) are a high-level rule-based programming language for specification and implementation of constraint solvers. CHR manipulates a global store representing a flat conjunction of constraints. By default, CHR does not support goals with a more complex propositional structure including disjunction, negation, etc., or CHR relies on the host system to provide such featu...
متن کاملDijkstra's Algorithm with Fibonacci Heaps: An Executable Description in CHR
We construct a readable, compact and efficient implementation of Dijkstra’s shortest path algorithm and Fibonacci heaps using Constraint Handling Rules (CHR), which is increasingly used as a high-level rule-based general-purpose programming language. We measure its performance in different CHR systems, investigating both the theoretical asymptotic complexity and the constant factors realized in...
متن کاملInstitut F Ur Informatik Lehr-und Forschungseinheit F Ur Programmier-und Modellierungssprachen Oettingenstraae 67, D{80538 M Unchen Implementing Constraint Solvers: Theory and Practice Implementing Constraint Solvers: Theory and Practice
Our research is based on Constraint Handling Rules (CHR), a powerful language for writing constraint solvers. We investigate connuence of CHR programs. This property guarantees that a CHR program will always compute the same result for a given set of constraints independent of which rules are applied. We give a decidable, suucient and necessary syntactic condition for connuence. Finally we pres...
متن کاملJoin Ordering for Constraint Handling Rules: Putting Theory into Practice
Join ordering is the NP-complete problem of finding the optimal order in which the different conjuncts of multi-headed rules are joined. Join orders are the single most important determinants for the runtime complexity of CHR programs. Nevertheless, all current systems use ad-hoc join ordering heuristics, often using greedy, very error-prone algorithms. As a first step, Leslie De Koninck and Jo...
متن کاملSatisfiability Modulo Constraint Handling Rules (Extended Abstract)
Satisfiability Modulo Constraint Handling Rules (SMCHR) is the integration of the Constraint Handling Rules (CHRs) solver programming language into a Satisfiability Modulo Theories (SMT) solver framework. Constraint solvers are implemented in CHR as a set of high-level rules that specify the simplification (rewriting) and constraint propagation behavior. The traditional CHR execution algorithm ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- J. Log. Program.
دوره 37 شماره
صفحات -
تاریخ انتشار 1998